const { number } = require('joi')
const joi = require('joi')
/**
* string() 值必须是字符串
* alphanum() 值只能是包含 a-zA-Z0-9 的字符串
* min(length) 最小长度
* max(length) 最大长度
* required() 值是必填项，不能为 undefined
* pattern(正则表达式) 值必须符合正则表达式的规则
*/
// 用户名的验证规则
const username = joi.string().min(1).max(10).required()
// 密码的验证规则
const password = joi.string().pattern(/^[\S]{6,12}$/).required()
const repassword = joi.string().pattern(/^[\S]{6,12}$/).required()
const schoolID = joi.string().min(8).max(8)
// const phone_number = joi.string().pattern(/^((13[0-9])|(14[5,7,9])|(15[0-3,5-9])|(166)|(17[3,5,6,7,8])|(18[0-9])|(19[8,9]))\d{8}$/)
const phone_number = joi.string().pattern(/^((\+86)|(86))?(1[3-9][0-9]{9})$/)
const specialized_class = joi.string().min(1).max(20)
const user_clusters = joi.string()
const qqsmtp = joi.number()
// 注册和登录表单的验证规则对象

/*


接收数据效验

每个接口数据不同，效验规则不同

*/
//检验报名数据信息
exports.reg_enrolment_schema = {
    // 表示需要对 req.body 中的数据进行验证
    body: {
        username,
        password,
        schoolID,
        phone_number,
        specialized_class,
        user_clusters,
        qqsmtp,
    },
}
// 检验注册数据信息
exports.reg_reguser_schema = {
    // 表示需要对 req.body 中的数据进行验证
    body: {
        username,
        password,
        schoolID,
        phone_number,
        specialized_class,
        qqsmtp,
    },
}
// 检验登录数据信息
exports.reg_login_schema = {
    // 表示需要对 req.body 中的数据进行验证
    body: {
        password,
        phone_number,
    },
}
// 检验重置密码数据信息
exports.reg_updatepwd_schema = {
    body: {
        password,
        repassword,
    }
}